package br.com.acme;

import java.util.ArrayList;

/**
 * @author Calebe Arruda
 * @author Roberto Sanmartin
 * @version 1.01
 */
public abstract class Publication {
    
    //Attributes of the class
    private String title;
    private short year;
    private byte volume;
    private ArrayList<Author> authors = new ArrayList<>();

    
    //Generation gets and sets
    /**
     * Function that returns the title of the publication
     * @return the title
     */
    public String getTitle() {
        return title;
    }

    /**
     * Function that sets the title of the publication
     * @param title the title to set
     */
    public void setTitle(String title) {
        this.title = title;
    }

    /**
     * Function that returns the year of the publication
     * @return the year
     */
    public short getYear() {
        return year;
    }

    /**
     * Function that sets the year of the publication
     * @param year the year to set
     */
    public void setYear(short year) {
        this.year = year;
    }

    /**
     * Function that returns the volume of the publication
     * @return the volume
     */
    public byte getVolume() {
        return volume;
    }

    /**
     * Function that sets the volume of the publication
     * @param volume the volume to set
     */
    public void setVolume(byte volume) {
        this.volume = volume;
    }

    /**
     * Function that returns a list of authors of the publication
     * @return the authors
     */
    public ArrayList<Author> getAuthors() {
        return authors;
    }

    /**
     * Function that sets a list of authors of the publication
     * @param authors the authors to set a list
     */
    public void setAuthors(ArrayList<Author> authors) {
        this.authors = authors;
    }
    
    
}
